#include<bits/stdc++.h>
using namespace std;
#define xyf main
#define maxn 205
#define INF 2147483647

int dp[maxn][maxn],n,m,Max=-INF;
int xyf()
{
	cin>>n>>m;
	for(int i=1;i<=n;++i)
		for(int j=1;j<=m;++j)
			cin>>dp[i][j];
	if(m&1)
	{
		for(int i=n-1;i>=1;--i)
			for(int j=m/2-(n-i);j<=m/2+n-i+2;++j)
				dp[i][j]+=max(dp[i+1][j],max(dp[i+1][j-1],dp[i+1][j+1]));
		for(int i=m/2+1-n;i<=m/2+1+n;++i)
			Max=max(Max,dp[1][i]);
		cout<<Max<<endl;
		return 0;
	}
	for(int i=n-1;i>=1;--i)
		for(int j=m/2-(n-i);j<=m/2+(n-i)+1;++j)
			dp[i][j]+=max(dp[i+1][j],max(dp[i+1][j-1],dp[i+1][j+1]));
	for(int i=m/2-n+1;i<=m/2+n;++i)
		Max=max(Max,dp[1][i]);
	cout<<Max<<endl;
	return 0;
}
